"""
首页，详情页面

我们都是先查询数据库的数据
然后进行HTML页面的渲染

不管是 数据库的数据缓存 还是HTML页面的渲染（特别是分类渲染，比较慢）  多少都会影响用户的体验

最好是让用户能直接就可以访问到数据库
经过数据库查询已经渲染的HTML页面 静态化

经过数据库查询已经渲染的HTML页面  写入到指定的目录
"""
import time
from apps.contents.models import ContentCategory
from uitls.goods import get_categories
def generic_meiduo_index():
    print('-------%s--------'%time.ctime())
    """
    首页数据分为2 部分
    一部分是 商品分类数据
    另一部分是 广告数据
    """
    #1.商品分类数据
    categories = get_categories()
    #2.广告数据
    contents={}
    content_catgories = ContentCategory.objects.all()
    for cat in content_catgories:
        contents[cat.key] =cat.content_set.filter(status=True).order_by('sequence')
    #页面静态化
    #把数据传递给模板
    context = {
        'categories': categories,
        'contents': contents,
    }
    #1.加载渲染的模板
    from django.template import loader
    index_template = loader.get_template('index.html')
    #2.把数据给模板
    index_html_data=index_template.render(context)
    #3.把渲染好的HTML，写入到指定文件
    # "E:\pycharm_place\lucky_git_42\front_end_pc\js"
    file_path = r'E:\pycharm_place\lucky_git_42\front_end_pc\index.html'
    with open(file_path,'w',encoding='utf-8') as f:
        f.write(index_html_data)


"""
1. 代码保持不变
你的 generic_meiduo_index() 函数完全不用修改

2. 批处理文件记录日志
bat
@echo off
cd /d E:\pycharm_place\lucky_git_42\meiduo_mall
echo [%date% %time%] 开始执行定时任务 >> logs/crontab.log
python manage.py shell -c "from apps.contents.crons import generic_meiduo_index; generic_meiduo_index()" >> logs/crontab.log 2>&1
echo [%date% %time%] 任务执行完成 >> logs/crontab.log
echo. >> logs/crontab.log
3. Windows 任务计划程序
设置每分钟执行上面的批处理文件





现在设置 Windows 任务计划程序
步骤1：打开任务计划程序
按 Win + R，输入 taskschd.msc 回车

步骤2：创建任务
右侧点击"创建基本任务"

名称：Meiduo首页静态化

描述：每分钟生成首页静态文件

步骤3：设置触发器
选择"每天"

开始时间：设置为当前时间（比如 16:25:00）

重复任务间隔：1分钟

持续时间：无限期

步骤4：设置操作
选择"启动程序"

程序或脚本：浏览选择你的 run_cron.bat 文件

起始位置：E:\pycharm_place\lucky_git_42\meiduo_mall

步骤5：完成创建
测试任务
创建后：

在任务计划程序库中找到 Meiduo首页静态化

右键点击 → "运行"（手动测试）

查看"上次运行结果"应该是"(0x0)"表示成功
"""
# @echo off
# chcp 65001 >nul
# cd /d E:\pycharm_place\lucky_git_42\meiduo_mall
# echo [%date% %time%] 开始执行定时任务 >> logs/crontab.log
# python manage.py shell -c "from apps.contents.crons import generic_meiduo_index; generic_meiduo_index()" >> logs/crontab.log 2>&1
# echo [%date% %time%] 任务执行完成 >> logs/crontab.log
# echo. >> logs/crontab.log